# -*- coding:utf-8 -*-

# 导入模块
from pathlib import Path

# 目录操作
# # 初始化
# p = Path()  # 当前目录
p = Path('/services/packages/go1.11.2.linux-amd64.tar.gz')
print(p.name)
print(p.suffix)
print(p.suffixes)
print(p.stem)
print(p.with_name('go1.11.2.linux.tar.gz'))

p = Path('/home/liyuanjie/abc')
print(p.with_suffix('.txt'))
'''
- name: 目录的最后一个部分
- suffix 目录中最后一个部分的扩展名。
- stem: 目录最后一个部分,没有后缀.
- suffixes: 返回多个扩展名列表。
- with_suffix(suffix) 补充扩展名到路径尾部,返回新的路径,扩展名存在则无效.
- with_name(name) 替换目录最后一个部分并返回一个新的路径.
'''


# 迭代当前目录
"""
p = Path()
p /= 'a/b/c/d'
p.exists()
# 创建目录

p.mkdir()  # FileNotFoundError
p.mkdir(parents=True)
p.exists()  # True
p.mkdir(parents=True,exist_ok=True)
p /= 'readme.txt'
p.parent.rmdir()
p.parent.exists()
p.mkdir()
p.mkdir(parents=True)

# 遍历,并判断文件类型,如果是目录是否可以判断其是否为空?
for x in p.parents[len(p.parents) -1].iterdir()
    print(x,end='\t')
    if x.is_dir():
        flag = False
        for _ in x.iterdir():
            flag = True
            break
        # for循环是否使用else子句
        print('dir','Not Empty' if flag else 'Empty',sep='\t')
    elif x.is_file():
        print('file')
    else:
        print('other file')
"""


# 文件操作
p = Path('files')
p.write_bytes(b'Binary files contents')
p.read_bytes() # b'binary file contents'

p = Path('my_text_file')
p.write_text('Text file contents')
p.read_text()

from pathlib import Path
p = Path('./a.py')
p.write_text('hello python3')
print(p.read_text())

with p.open() as f:
    print(f.read(5))
    